Modified error distance decoding of a plurality of signals

ABSTRACT

Modified error distance decoding. In certain communication systems, multiple signals (e.g., which may be viewed as being codewords, groups/sets of bits or symbols, etc.) can be commonly affected by such deleterious phenomenon as burst noise when traversing a communication channel (e.g., from a transmitter communication device to a receiver communication device). In such instances, a test error pattern may be identified which covers those affected bits (or symbols) among at least two respective signals (e.g., all of the respective signals or any subset thereof). Various respective test error patterns may be employed, each having a different respective weight, to the desired group of signals (e.g., codewords, groups/sets of bits or symbols, etc.). As such, more than one possible estimate of each respective signal may be generated. A variety of selection operations may be employed when more than one possible estimate exists (e.g., random selection, that estimate with minimum distance, etc.).

CROSS REFERENCE TO RELATED PATENTS/PATENT APPLICATIONS ProvisionalPriority Claims

The present U.S. Utility patent application claims priority pursuant to35 U.S.C. §119(e) to the following U.S. Provisional Patent Applicationwhich is hereby incorporated herein by reference in its entirety andmade part of the present U.S. Utility patent application for allpurposes:

1. U.S. Provisional Application Ser. No. 61/264,613, entitled “Modifiederror distance decoding for achieving improved performance in additivewhite Gaussian noise (AWGN) and burst events with interleaving,” (filedNov. 25, 2009, pending.

Continuation-in-part (CIP) Priority Claim, 35 U.S.C. §120

The present U.S. Utility patent application claims priority pursuant to35 U.S.C. §120, as a continuation-in-part (CIP), to the following U.S.Utility patent application which is hereby incorporated herein byreference in its entirety and made part of the present U.S. Utilitypatent application for all purposes:

1. U.S. Utility application Ser. No. 12/626,566, entitled “Handlingburst error events with interleaved Reed-Solomon (RS) codes,” filed Nov.25, 2009, pending, which claims priority pursuant to 35 U.S.C. §119(e)to the following U.S. Provisional Patent Applications which are herebyincorporated herein by reference in their entirety and made part of thepresent U.S. Utility patent application for all purposes:

-   -   a. U.S. Provisional Application Ser. No. 61/118,343, entitled        “Handling burst error events with interleaved Reed-Solomon (RS)        codes,” filed Nov. 26, 2008, now expired.    -   b. U.S. Provisional Application Ser. No. 61/264,613, entitled        “Modified error distance decoding for achieving improved        performance in additive white Gaussian noise (AWGN) and burst        events with interleaving,” filed Nov. 25, 2009, pending.

Incorporation by Reference

The following U.S. Utility patent applications are hereby incorporatedherein by reference in their entirety and made part of the present U.S.Utility patent application for all purposes:

1. U.S. Utility application Ser. No. 10/136,059, entitled “Chip blankingand processing in S-CDMA to mitigate impulse and burst noise and/ordistortion,” filed Apr. 30, 2002, now U.S. Pat. No. 7,236,545 B2, issuedon Jun. 26, 2007, which claims priority pursuant to 35 U.S.C. §120, as acontinuation-in-part (CIP), to the following U.S. Utility patentapplication which is hereby incorporated herein by reference in itsentirety and made part of the present U.S. Utility patent applicationfor all purposes:

2. U.S. Utility application Ser. No. 10/000,415, entitled “Detection andmitigation of temporary impairments in a communications channel,” filedNov. 2, 2001, now U.S. Pat. No. 7,308,050, issued on Dec. 11, 2007,which claims priority pursuant to 35 U.S.C. §119(e) to the followingU.S. Provisional Patent Application which is hereby incorporated hereinby reference in its entirety and made part of the present U.S. Utilitypatent application for all purposes:

-   -   2. a. U.S. Provisional Application Ser. No. 60/296,884, entitled        “Detection and mitigation of temporary impairments in a        communications channel,” filed Jun. 8, 2001, now expired.

3. U.S. Utility application Ser. No. 10/237,853, entitled “Detection andmitigation of temporary (bursts) impairments in channels using SCDMA,” ,filed Sep. 9, 2002, now U.S. Pat. No. 7,570,576 B2, issued on Aug. 4,2009, which claims priority pursuant to 35 U.S.C. §120, as acontinuation-in-part (CIP), to U.S. Utility application Ser. No.10/000,415, now U.S. Pat. No. 7,308,050, which is also referenced above.

The U.S. Utility application Ser. No. 10/237,853, now U.S. Pat. No.7,570,576 B2, issued on Aug. 4, 2009, also claims priority pursuant to35 U.S.C. §119(e) to the following U.S. Provisional Patent Applicationwhich is hereby incorporated herein by reference in its entirety andmade part of the present U.S. Utility patent application for allpurposes:

-   -   3. a. U.S. Provisional Application Ser. No. 60/402,776, entitled        “Detection and mitigation of temporary (bursts) impairments in        channels using SCDMA,” , filed Aug. 12, 2002, now expired.

4. U.S. Utility application Ser. No. 10/962,803, entitled “Chip blankingand processing in SCDMA to mitigate impulse and burst noise and/ordistortion,” filed Oct. 12, 2004, now U.S. Pat. No. 7,366,258 B2, issuedon Apr. 29, 2008, which claims priority pursuant to 35 U.S.C. §120, as acontinuation-in-part (CIP), to U.S. Utility application Ser. No.10/136,059, now U.S. Pat. No. 7,236,545 B2, issued on Jun. 26, 2007,which is also referenced above, which claims priority pursuant to 35U.S.C. §120, as a continuation-in-part (CIP), to U.S. Utilityapplication Ser. No. 10/000,415, now U.S. Pat. No. 7,308,050, issued onDec. 11, 2007, which is also referenced above.

5. U.S. Utility application Ser. No. 10/112,009, entitled “Modifiedbranch metrics for processing soft decisions to account for phase noiseimpact on cluster variance,” filed Mar. 30, 2002, now U.S. Pat. No.7,136,435 B2, issued on Nov. 14, 2006.

6. U.S. Utility application Ser. No. 10/175,330, entitled “System,method, and computer program product for mitigating burst noise in acommunications system,” filed Jun. 20, 2002, now U.S. Pat. No.7,631,242, issued on Dec. 8, 2009, which claims priority pursuant to 35U.S.C. §119(e) to the following two (2) U.S. Provisional PatentApplications which are hereby incorporated herein by reference in theirentirety and made part of the present U.S. Utility patent applicationfor all purposes:

-   -   6. a. U.S. Provisional Application Ser. No. 60/308,101, entitled        “FEC block reconstruction method, system and computer program        product for mitigating burst noise,” , filed Jul. 30, 2001, now        expired.    -   6. b. U.S. Provisional Application Ser. No. 60/299,768, entitled        “Method system and computer program product for mitigating burst        noise,” filed Jun. 22, 2001, now expired.

7. U.S. Utility application Ser. No. 10/112,009, entitled “Modifiedbranch metrics for processing soft decisions to account for phase noiseimpact on cluster variance,” filed Mar. 30, 2002, now U.S. Pat. No.7,136,435 B2, issued on Nov. 14, 2006.

BACKGROUND OF THE INVENTION

1. Technical Field of the Invention

The invention relates generally to communication systems; and, moreparticularly, it relates to performing modified error distance decodingof more than one signal being affected by a common deleterious effectsuch as burst noise, distortion, etc.

2. Description of Related Art

Data communication systems have been under continual development formany years. Generally speaking, a data communication system may beviewed as supporting the transmission of any of a variety of types ofinformation (e.g., data, voice, media, etc.) from a first location to asecond location within such a communication system. Communicationsystems are known to support wireless and wire lined communicationsbetween wireless and/or wire lined communication devices. Also generallyspeaking, within the context of communication systems that employvarious types of communication devices, there is a first communicationdevice at one end of a communication channel with encoder capability andsecond communication device at the other end of the communicationchannel with decoder capability. In many instances, one or both of thesetwo communication devices includes encoder and decoder capability (e.g.,within a bi-directional communication system). Transferring informationfrom one location to another can be applied generally within any type ofcommunication system, including those that employ some form of datastorage (e.g., hard disk drive (HDD) applications and other memorystorage devices) in which data is processed and/or encoded beforewriting to the storage media, and then the data is processed and/ordecoded after being read/retrieved from the storage media.

Certain communication systems employ one or more of various types ofcoding (e.g., error correction codes (ECCs) and/or forward errorcorrection (FEC) codes whose decoding may be performed iteratively) toensure that the data extracted from a signal received at one location ofa communication channel is the same information that was originallytransmitted from another location of the communication channel.Communications systems with iterative codes are often able to achievelower bit error rates (BER) than alternative codes for a given signal tonoise ratio (SNR).

In addition, any of a variety of types of communication systems mayemploy one or more of various types of signaling (e.g., orthogonalfrequency division multiplexing (OFDM), code division multiple access(CDMA), synchronous code division multiple access (S-CDMA), timedivision multiple access (TDMA), etc.) to allow more than one useraccess to the communication system. Such signaling schemes may generallybe referred to as multiple access signaling schemes.

In accordance with processing signals transmitted across a communicationchannel within such communication systems, sometimes more than onesignal is affected by a common deleterious effect such as burst noise,distortion, etc. That is to say, such a deleterious effect can affectmore than one signal similarly. The prior art does not adequatelyprovide for means to address and overcome such deleterious effects asmay be incurred among multiple signals within a communication system.

BRIEF SUMMARY OF THE INVENTION

The present invention is directed to apparatus and methods of operationthat are further described in the following Brief Description of theSeveral Views of the Drawings, the Detailed Description of theInvention, and the claims. Other features and advantages of the presentinvention will become apparent from the following detailed descriptionof the invention made with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 and FIG. 2 illustrate various embodiments of communicationsystems.

FIG. 3 illustrates an embodiment of a communication system, employinginterleaving, with a burst noise affected communication channel.

FIG. 4 illustrates an embodiment of a brute force implementation of aminimum distance decoder.

FIG. 5 illustrates an embodiment of a sub-optimal implementation of aminimum distance decoder (using a truncated list of possible codewords).

FIG. 6 illustrates an embodiment of multiple codewords and therespective bits therein that are affected by burst noise.

FIG. 7 illustrates an embodiment of a brute force implementation of amodified minimum distance decoder (e.g., alternative embodiment of aminimum distance decoder).

FIG. 8 illustrates an embodiment of an alternative (1) implementation ofa modified minimum distance decoder.

FIG. 9 illustrates an embodiment of an alternative (2) implementation ofa modified minimum distance decoder.

FIG. 10 is a diagram illustrating an embodiment of OFDM (OrthogonalFrequency Division Multiplexing) modulation.

FIG. 11 is a diagram illustrating an embodiment of different respectivetones in accordance with OFDM modulation being undesirable affected byburst noise, distortion, and/or other deleterious effects.

FIG. 12 is a diagram illustrating an embodiment of CDMA (Code DivisionMultiple Access) signaling.

FIG. 13 is a diagram illustrating an embodiment of synchronous codedivision multiple access (S-CDMA) signaling.

FIG. 14 is a diagram illustrating an embodiment of different respectivebit (or symbols) in accordance with S-CDMA signaling being undesirableaffected by burst noise, distortion, and/or other deleterious effects.

DETAILED DESCRIPTION OF THE INVENTION

The goal of digital communications systems is to transmit digital datafrom one location, or subsystem, to another either error free or with anacceptably low error rate. As shown in FIG. 1, data may be transmittedover a variety of communications channels in a wide variety ofcommunication systems: magnetic media, wired, wireless, fiber, copper,and other types of media as well.

FIG. 1 and FIG. 2 are diagrams illustrate various embodiments ofcommunication systems, respectively.

Referring to FIG. 1, this embodiment of a communication system is acommunication channel 199 that communicatively couples a communicationdevice 110 (including a transmitter 112 having an encoder 114 andincluding a receiver 116 having a decoder 118) situated at one end ofthe communication channel 199 to another communication device 120(including a transmitter 126 having an encoder 128 and including areceiver 122 having a decoder 124) at the other end of the communicationchannel 199. In some embodiments, either of the communication devices110 and 120 may only include a transmitter or a receiver. There areseveral different types of media by which the communication channel 199may be implemented (e.g., a satellite communication channel 130 usingsatellite dishes 132 and 134, a wireless communication channel 140 usingtowers 142 and 144 and/or local antennae 152 and 154, a wiredcommunication channel 150, and/or a fiber-optic communication channel160 using electrical to optical (E/O) interface 162 and optical toelectrical (O/E) interface 164)). In addition, more than one type ofmedia may be implemented and interfaced together thereby forming thecommunication channel 199.

Either one of both of the communication device 110 and the communicationdevice 120 can include a hard disk drive (HDD) (or be coupled to a HDD).For example, the communication device 110 can include a HDD 110 a, andthe communication device 120 can include a HDD 120 a.

In some instances, to reduce transmission errors that may undesirably beincurred within a communication system, error correction and channelcoding schemes are often employed (e.g., sometimes generally referred toas forward error correction (FEC) codes, error correction codes (ECCs),etc. and can include any one or combination of a variety of such codesas convolutional codes, turbo codes, turbo trellis coded modulation(TTCM), Reed-Solomon (RS) codes, LDPC (Low Density Parity Check) codes,etc.).

Generally, these error correction and channel coding schemes involve theuse of an encoder at the transmitter and a decoder at the receiver.Clearly, a given communication device may include both an encoder and adecoder to effectuate bi-directional communication with one or moreother communication devices; in other embodiments, a given communicationdevice includes only encoding functionality (e.g., a transmitter typecommunication device) or only decoding functionality (e.g., a receivertype communication device).

Any of the various types of signal processing operations and meansdescribed herein, and their equivalents, can be employed within any suchdesired communication system (e.g., including those variations describedwith respect to FIG. 1), any information storage device (e.g., hard diskdrives (HDDs), network information storage devices and/or servers, etc.)or any application in which information encoding and/or decoding isdesired.

Referring to the communication system of FIG. 2, at a transmitting endof a communication channel 299, information bits 201 are provided to atransmitter 297 that is operable to perform encoding of theseinformation bits 201 using an encoder and symbol mapper 220 (which maybe viewed as being distinct functional blocks 222 and 224, respectively)thereby generating a sequence of discrete-valued modulation symbols 203that is provided to a transmit driver 230 that uses a DAC (Digital toAnalog Converter) 232 to generate a continuous-time transmit signal 204and a transmit (TX) filter 234 to generate a filtered, continuous-timetransmit signal 205 that substantially comports with the communicationchannel 299. At a receiving end of the communication channel 299,continuous-time receive signal 206 is provided to an AFE (Analog FrontEnd) 260 that includes an automatic gain control (AGC) circuit or module261, a receive (RX) filter 262 (that generates a filtered,continuous-time receive signal 207) and one or more ADCs (Analog toDigital Converters) 264 (that generates discrete-time receive signals208). The ADC(s) 264 may be viewed as incorporating imbalance anddistortion cancellation/compensation functionality in accordance withthe principles and/or aspects of the invention presented herein; suchfunctionality may be directed to embodiments including two or more ADCs.Greater details are provided herein regarding various means by whichsuch imbalance and distortion cancellation may be effectuated. A metricgenerator 270 calculates metrics 209 (e.g., on either a symbol and/orbit basis) that are employed by a decoder 280 to make best estimates ofthe discrete-valued modulation symbols and information bits encodedtherein 210. The decoder 280 may be a forward error correction (FEC)decoder employing any of a variety of error correction codes (ECCs).

As the reader will understand, various aspects and principles of theinvention are operative to mitigate the effects of deleterious effectsthat may be incurred by one or more signals when traversing or beingcommunicated via a communication channel. Such deleterious effects mayinclude burst noise and/or any other distortions, impairments, etc. thatmay be incurred as related to an imperfect (i.e., real) communicationchannel in such communication systems. By mitigating such deleteriouseffects in accordance with the aspects or principles presented herein,the decoder 280 is able to correct more (if not all) errors therebyreducing the number of uncorrected errors.

The processing of received signals of either of the previous embodimentsmay be implemented to include various aspects and/or embodiment of theinvention therein (e.g., modified error distance decoding). In addition,several of the following Figures describe other and particularembodiments (some in more detail) that may be used to support thedevices, systems, functionality and/or methods that may be implementedin accordance with certain aspects and/or embodiments of the invention.

In accordance with the various aspects and principles of the invention,a novel decoding approach is presented herein by which improvedperformance (e.g., lower error rates) may be achieved in the presence ofburst error events, distortion, and/or other deleterious effects. Anycommunication system implementation in which multiple signals mayundesirably be commonly affected by such a deleterious effect (e.g.,burst error noise, distortion, etc.) may operate in accordance with thevarious aspect and principles, and their respective equivalents, of theinvention.

As one particular example, a communication system that operates inaccordance with interleaved codes, multiple received signals (e.g.,initial estimates of codewords, for example, a received codeword may bea) the initially estimated received signal, prior to error correctiondecoding, which is the transmitted codeword possibly influenced by noiseand/or any other impairment, and thus is literally in general not acodeword, or b) the initially estimated received signal after asuccessful application of a conventional decoding attempt applied to anindividual received codeword), may be commonly affected by such adeleterious effect. Additionally, the multiple received codewords may beprovided by the output of decoding or partial decoding of inner codes ina concatenated coding scheme, such as ITU-J.83B). The techniquespresented herein include application to block interleaved codewords.Analogous such principles may also be employed to address adaptation forconvolutionally interleaved codewords (e.g., as described within U.S.Utility application Ser. No. 12/626,566, entitled “Handling burst errorevents with interleaved Reed-Solomon (RS) codes”, referenced above). Theaspects and principles, and their equivalents, presented herein areapplicable to any type of coding scheme, including cyclic coding andnon-cyclic coding, standard-length Reed-Solomon (RS) codewords,shortened and extended RS codewords, and Hamming codes (includingextended and shortened Hamming codes). The novel approach to performingdecoding in the presence of such deleterious effects (e.g., burst errornoise, distortion, etc.) may be applied to convolutionally encodedcodewords including those communication systems that includeinterleaving therein.

In accordance with this novel decoding and processing, a partialdecoding or series of partial decoding iterations/operations may be usedas an aid in identifying where communication channel degradation hasoccurred in relation to the received bits, symbols, symbols includedwithin a RS codeword, an LDPC (Low Density Parity Check) codeword, etc.(e.g., or a codeword as generated in accordance with any other type ofcode type). Again, one type of such communication channel degradationmay be related to communication systems deleteriously suffering fromburst error noise.

Various aspects and principles of the invention as presented herein,along with many variations and equivalents, for such partial decoding(s)and subsequent identification of burst noise-impacted bits or symbolsare presented herein. In accordance with this novel decoding approach,subsequent processing of “known” error locations may provide additionalbenefits in accordance with such decoding.

Generally speaking, the reader can appreciate that “channel degradation”and “burst noise” include artifacts that may be concentrated within thereceiver, or largely concentrated within the receiver, and further mayapply to situations involving concatenated coding and/or inner and outercoding schemes. Some examples of such situations may include (1) acarrier and phase tracking loop which experiences for a duration of timea phase tracking error excursion significantly larger than normal, (2)an inner code decoder which experiences a duration of poorer performancethan typical (e.g., the ITU-T J.83 Annex B inner code decoder which mayissue at its output a burst of errors due to incorrectly selecting a“path” which was not the transmitted path), (3) a coding schemeinvolving an inner coding and outer coding suited to application in aburst communications system for improved performance in burst noise asdescribed within U.S. Utility application Ser. No. 10/175,330, entitled“System, method, and computer program product for mitigating burst noisein a communications system,” now U.S. Pat. No. 7,631,242, referencedabove), (4) a receiver employing a Decision Feedback Equalizer (DFE) canexhibit an error propagation characteristic, especially with highdensity constellations and/or large coefficients in the DFE taps, whichcould appear as “burst noise” to a subsequent decoder, (5) other aspectsof receiver synchronization and operation, which may undergo a period oftime wherein the accuracy or performance is notably worse than “normal,”and this could even be simply experiencing the “tails” of thedistribution of expected performance, and (6) a combination of theabove, or of some or any of the above with an assortment of othersources of degradation. As stated, many other mechanisms can beassociated with “burst noise” which is beneficially treated with theteaching of the techniques of this disclosure, etc.

The various aspects and principles presented herein may operate inaccordance with those described in U.S. Utility application Ser. No.10/000,415, entitled “Detection and mitigation of temporary impairmentsin a communications channel,” now U.S. Pat. No. 7,308,050, referencedabove, which not only complement existing decoding and partial decodingtechniques, but also described the advent of additional partial decodingtechniques for multiple interleaved codewords (e.g., as referencedherein as well).

FIG. 3 illustrates an embodiment of a communication system, employinginterleaving, with a burst noise affected communication channel. Thisdiagram related to the optimality of performing minimum distancedecoding with Forward Error Control (FEC) coding. Such application maybe directed for use of hard or soft decisions by a demodulator andrespective decoder. For decoding of many FEC codes operating using acommunication channel that may incur additive white Gaussian noise(AWGN) (e.g., with equally likely bits and/or codewords), theimplementation of minimum distance decoding can provide an optimalsolution in terms of minimizing the error rate. In other words, thecodeword with bits or symbols which are “closest” to the received signalmay be deemed the most likely codeword that was transmitted, andselection of this codeword maximizes the probability of choosing thecorrect codeword, in general. Of course, sometimes there are otherchoices besides selecting a codeword at the receiver as the estimatedtransmitted codeword, such as “failing to decode,” wherein sometimes thereceiver/decoder does not declare an estimate for the received codeword.Still, it is widely known and understood that minimum distance decodingis an optimal decoding approach in a wide range of applications andcircumstances.

In some embodiment, soft decisions as provided from a demodulator areemployed at the decoder, and in other embodiment, hard decisions areemployed by a respective decoder. In using hard decisions, eachtransmitted symbol or bit is estimated at the demodulator (e.g., such asin accordance with a slicer), and this decision is passed on to thedecoder. In using soft decisions, not only is the estimate of thetransmitted symbol or bit passed along to the decoder, but also someinformation about the confidence or likelihood of the estimate is passedalong (e.g., such as in accordance with a Viterbi detector embodiment).This information about the likelihood or confidence that the most likelysymbol is indeed the correct choice is the “soft information”. Ratherthan the demodulator making a “hard decision”, the demodulator has notacted with such certainty, and has instead provided a “softer” decision(e.g., a decision and a corresponding confidence or likelihood thereof).If there are more than a pair of symbol choices for the demodulator at agiven symbol instance, then soft decision information often wouldinclude confidence or likelihood measures for the most likely symbol,and also for other symbols.

With binary codes (e.g., based on a Galois Field, GF(2)), symbols andarithmetic (bits) (e.g., Hamming codes), each bit can be assigned aprobability/likelihood or soft decision information by the demodulator,even if binary signaling is not employed by the modulator/demodulator.

In binary codes where hard decisions are employed by the demodulator anddecoder, minimum distance decoding rule may be viewed as being analogousto selection of the codeword which has the fewest disagreements with thereceived bit sequence from the demodulator. The difference between theestimated codeword and the received sequence is “0” for the bitpositions in agreement and “1” for the bit positions that disagree, andthe selected codeword using the “minimum distance” decoding principle isthe codeword which provides for the difference to have the minimumHamming weight (e.g., that one having the fewest “1”s or disagreements).

When soft decisions are available and used by the decoder (e.g., inaccordance with AWGN with equally likely symbols), the relativelikelihood of each possible symbol choice is inversely proportional tothe distance-squared of the received voltage from said symbol expected(noise-free) voltage. The minimum distance decoding rule with softdecisions corresponds to selecting as the estimated codeword thatparticular codeword which, if transmitted, would be “closest” to theactually demodulated/received signal. As the reader will understand, the“closest” may be measured by summing the distance-squared of eachcomponent symbol (differencing the received voltage with the noise-freevoltage of the corresponding symbol from said codeword). The “closest”codeword matching the received signal is the codeword which has thesmallest total distance-squared in comparing its noise-free transmissionwith what was actually received.

If the actual (relative) distance or distance-squared is available andused by the decoder, and certain other typical conditions apply, thenthis is categorized as “infinite precision soft decision” decoding. Ifthe distance or distance-squared is quantized to a finite range ofvalues, then this is termed “n-bit soft decision” decoding, where ingeneral n=log 2 (number of quantization levels). This diagram (FIG. 3)illustrates the basic operations and flow in a communication systemusing FEC and interleaving in the presence of a burst noise affectedcommunication channel 399.

As may be seen, data (e.g., information bits and/or symbols) areprovided to a FEC encoder and block interleaver (π) 310. This FECencoded and interleaved signal is provided to a modulator/transmitter320 that is operative to perform any desired operations such as scaling,filtering, digital to analog conversion, symbol mapping, etc. As thesignal output from the modulator/transmitter 320 traverses thecommunication channel 320, any of a number of deleterious effects may beincurred (e.g., burst noise, distortion, and/or any other impairment). Ademodulator 330 then processes the signal received from thecommunication channel 399, by performing any of a number of desiredoperations such as digital sampling (e.g., using an analog to digitalconverter (ADC)), scaling, filtering, symbol de-mapping, etc. therebygenerating a digital signal that is provided to a de-interleaver (π⁻¹)340, the output there from being provided to a decoder 350 that isoperative to make estimates of the data provided to the FEC encoder andblock interleaver (π) 310 on the left hand side of the diagram. Ideally,the estimates of the data and the data are the very same. However, inreal world/imperfect applications, such deleterious effects (e.g., burstnoise, distortion, and/or any other impairment) may make properdemodulation and decoding of a signal received from the communicationchannel 399 more difficult. Using various aspects and principles, andtheir equivalents, as presented herein, such deleterious effects may bemitigated (if not eliminated) thereby enabling or making easier theproper demodulation and decoding of a signal received from thecommunication channel 399.

FIG. 4 illustrates an embodiment of a brute force implementation of aminimum distance decoder. It is of course noted that many techniqueshave been developed over many decades to implement various decodingprinciples, for various codes and families of codes. Many approximationsand simplifications have been developed and employed to achieve simplerimplementations than the brute force optimal decoders would necessitate,sometimes even at the expense of providing suboptimal performance.

For binary codes with hard decisions or soft decisions, applying theminimum distance decoding principle can be accomplished in a brute forcemanner by determining the distance (e.g., either the Hamming weight forhard decisions or the distance-squared described above with softdecisions) of the received signal with the noise-free signal that wouldbe received for each of the possible codewords. This diagram illustratesthe brute force implementation of minimum distance decoding in the FECdecoder.

For a respective signal (e.g., received codeword) received from acommunication channel, based on a list of all possible codewords (suchas stored in memory), the corresponding distance is calculated and theerror distance is stored in a list with the selected possible codewordcurrently being used for the distance calculation. This processcontinues through all possible codewords, and the possible codewordhaving the smallest minimum distance error is then selected as theestimated codeword. The same processing principles apply for non-binarycoding (e.g., encoding and decoding) as well, but sometimes therespective error distance for received symbols needs to be processedinto probability metrics and cannot be used directly without suchprocessing (e.g., for optimizing probability of determining the correctcodeword). This processing may be performed for additive white Gaussiannoise (AWGN) communication channels.

In this general case and variant embodiment, the “store error distance”operations in FIG. 4 may then be more appropriately termed “storeprobability metric”, and the final step of selecting the codewordinvolves selecting the codeword associated with the minimum probabilitymetric, thus maximizing the probability of choosing the correct codewordgiven the received signal (e.g., in AWGN). In some cases of non-binarycoding the “select codeword” operations in FIG. 4 may correspond toselecting candidate error positions rather than actually selecting aparticular codeword. In such a case the error probability metric for agiven vector of error positions (for the non-binary symbols in thecodeword) may be computed as corresponding to the entire set ofprobabilities of codewords which result in the given position errorvector, or may be derived from the codeword dominating the errorprobability, or by some approximation similar. The selection in thefinal operational steps of FIG. 4 relate then to the selection of anerror position vector or set of likely error positions, and not anactual codeword selection. The error positions selected from the finaloperational steps of FIG. 4 can be used as a partial decoding result andfed to a decoder which can determine the error values in (or lack oferror in some of) the candidate error positions; often this isachievable as long as the number of error positions is within a givenlimit. For example, with Reed-Solomon (RS) codes, error location valuescan be calculated knowing the error positions, and knowing the correctvalues outside the error positions, as long as the number of errorpositions is equal to or less than the number of parity symbols in theRS codeword.

In FIG. 4, the received signal from the communication channel (e.g., atthe left hand side of the diagram) may alternatively correspond to (in avariant embodiment) an initially estimated received signal, prior toperforming any error correction decoding, which may be then becharacterized as the transmitted codeword that may be undesirablyinfluenced by noise and/or any other impairment.

If a concatenated coding scheme is employed, one example being ITU-TJ.83B, this signal may be the result of one or more decoding attempts orpartial decoding attempts with an inner code, and the processing of suchan embodiment may be understood as performing one iteration of decodingthe outer code for a single codeword. The reader will of courseunderstand that such applicability (e.g., of such a diagram illustratingthe performing of one iteration of decoding) may be extended and appliedto each of the other variant embodiments as described herein (e.g., FIG.4, FIG. 5, FIG. 7, FIG. 8, and FIG. 9, etc.).

The processing and decoding operations shown in FIG. 4 may alsocorrespond to the error correction decoding of the coded bits in aset-partitioned modulation communications scheme, wherein thecalculations and results of this decoding are used in combination withthe received information corresponding to the “uncoded bits” (which mayactually be further coded in an outer coding scheme).

FIG. 5 illustrates an embodiment of a sub-optimal implementation of aminimum distance decoder (using a truncated list of possible codewords).Considering a concrete example in a finite precision system, if thereare 11 information bits in a codeword, then there are 2¹¹=2048 codewordsavailable in the signaling set. For each respective transmission andcodeword reception, the brute force minimum distance decoder wouldcompute the distance (or distance-square or Hamming distance) of theactual received signal with what the received would have receivednoise-free for each of those 2048 codewords. Thus, there are 2048distances computed for each and every respective, received signal (e.g.,each and every respective, received codeword). The decoder, using theminimum distance decoding rule, then operates to select as the estimatedcodeword that codeword which corresponds to the lowest such minimumdistance error. This is the codeword which is “closest” to the receivedsignal. Of course, in a real life application, this is the codewordwhose transmitted waveform, received noise-free, is closest to thereceived waveform).

In this alternative embodiment, rather than actually computing all 2048distances for determining the estimation of a codeword, varioustechniques may be employed which require less computation. Often, thesetechniques result in a reduction in performance (e.g., resulting in ahigher error rate). This is because such various techniques may identifya codeword as the estimate; however, that particular codeword may notactually be the closest codeword to the received signal. Often thisreduction in performance is accepted in return for the simplification ofthe decoding process.

One embodiment of such a suboptimal decoder operates much as the optimalbrute force decoder described above, but instead uses a subset of thecodewords in the error distance calculations rather than all of thepossible codewords. Such processing methodology is sometimes referred toas using a “truncated list of candidate codewords,” and key issues inthese methods are how many such candidate codewords to generate, and howto generate them. Ideally, the generated list of candidate codewordswill include the codeword which is actually closest to the receivedsignal.

In accordance with the practice of hard decision FEC decoding that usescertain reduced complexity techniques (e.g., such as using a “truncatedlist of candidate codewords”), decoding to the “closest” codeword may beachieved as long as the received signal (e.g., received codeword) iswithin a certain distance of the noise-free transmitted codeword, whichmay be called the guaranteed decoding distance.

Typically, this guaranteed decoding distance provided by the suboptimaldecoder corresponds to roughly slightly less than half the “minimumdistance” (e.g., labeled as d_(min)) of the code. The minimum distanceof a code is the smallest distance separating two codewords in thecodeword set. Many decoding approaches exist which provide a guaranteeddecoding distance (e.g., a number of errors which will be guaranteedcorrected in a received codeword) which is equal to half of d_(min)−1,rounded down to nearest integer if d_(min) is even. This distance may belabeled “t” and is used to describe the error correction capability of acode assuming a good decoding approach is applied.

In some few codes (known as “perfect codes”), decoding with up to “t”errors in a received codeword is actually optimal, but with most codes(e.g., non-perfect codes), such a decoder is slightly suboptimal. Withsuch non-perfect codes, the receiver could provide a sequence to thedecoder with more than “t” errors, which is still “closer” to thecorrect (transmitted) codeword than to any other codeword, but for whichthe decoder will fail (since it is only capable of correcting up to “t”errors by assumption in this example). In this case, the decoder is notguaranteed to provide the correct codeword as its estimate even thoughthe correct codeword is the “closest” codeword to the received signal.

Another example of a class of decoders which is generally suboptimalcorresponds to those decoders that operate based on “error trapping.”Such decoders are operable to correct up to and including some number oferrors as long as all the errors are constrained to be within a subsetrange of consecutive positions within the codeword. Generally speaking,such decoders are operable on cyclic codes such that a shiftingprocedure will then allow the subset range to readily move around theset of entire codeword positions, but with the constraint that allerrors fall within a finite span remains, even as the examined windowspan is moved or rotated. Variations and additions to such errortrapping decoders allow for correction of some number of errors outsidethe examined span, but still, these techniques are in general suboptimalvariations of minimum error distance decoding, in that, error patternsoccur which sometimes would be correctable in the optimal decoder butfor which too many errors fall outside the trapped span, even for allrotations of the trapped span across the codeword.

The various aspects and principles, and their equivalents, of theinvention as described herein of course apply to block coding FEC. It isalso noted that such principles and techniques also apply toconvolutionally coded FEC. With convolutionally coded FEC, thoughspecific decoding techniques may be different, the principle of minimumerror distance therein still applies and may benefit from variousaspects and principles, and their equivalents, of the invention.

Optimal minimum distance decoding is available via the Viterbiprocessing approach (e.g., an application of linear dynamic programmingto solving for the “path” characterized by minimum error power), as longas infinite decoding lag is allowed, and near-optimal minimum errordistance decoding occurs with reasonably truncated lag times. Viterbidecoding techniques become complex when the number of “states” of aconvolutional encoder becomes large, and other suboptimal techniques areavailable for such applications that, in general, correspond in afashion to the truncated list of candidate codewords decoding (e.g., inblock code FEC). If a convolutional FEC technique is employed in acommunication system, but the transmission is terminated in a finiteamount of time, or a lag in decoding is permissible effectively to allow“ignoring” of the received signal at some point into the future of thetime corresponding to the currently estimated signal epoch, then theconvolutional FEC may be treated in some respects as a block FEC.

In “burst noise” affected communication channels, the statistics ofreceived symbols or bits are not stationary, as may assumed in anadditive white Gaussian noise (AWGN) communication channel. In oneextreme case, a communication channel undesirably affected by “burstnoise”, such a communication channel may be characterized as being anAWGN channel for some duration of symbols, possibly recurringoccasionally, but containing no noise for all other symbols. Theduration of the degraded channel, often in terms of the number ofimpacted symbols, may be characterized as being rigidly periodic innature with fixed duty cycle and repetition rate, or may be of fixedduration but occurring with a probabilistic rate (e.g., as in accordancewith Poisson distributed “arrival” times), or may be characterized byboth random duration and arrival time; other variations are conceivable.Several possible models may be employed for characterizing “burst noise”affected communication channels. Sometimes, the implementation of aparticular receiver leads to time-varying demodulator performance, andthis type of impairment can be one embodiment of a “burst noise”channel.

The characterization of the communication channel, when impaired by somedeleterious effects (e.g., burst noise, distortion, etc.) and when“normal” (e.g., not impaired), is often more complex than assigning anAWGN value during the impairment and no noise otherwise. Assigning twodifferent AWGN levels for the two different channel states is oneapproach, and other approaches may go beyond even the AWGN modeling. Forexample, such variations may be performed where even at one instant intime the AWGN power, or other characteristics of the noise ordistortion, may vary depending upon which constellation symbol istransmitted; this includes such variations as described in U.S. Utilityapplication Ser. No. 10/112,009, entitled “Modified branch metrics forprocessing soft decisions to account for phase noise impact on clustervariance,” now U.S. Pat. No. 7,136,435 B2, referenced above.

In some cases, rather than addressing the demodulator and channel noisedirectly, the communication channel may be described by theprobabilities that a hard decision demodulator would be able to providein making its decisions during the two (or more) different channelstates. It is noted that more complex models may have more than twodifferent channel states, in general, but the various aspects andprinciples, and their equivalents, of the invention apply to thoseembodiments as well. For example, perhaps a binary signaling channelwould be characterized by the demodulator having a probability of biterror of 0.5 during a burst event, and 0 during “normal” operation.Another example could be that the communication channel provides a biterror rate of 0.2 during the burst noise, and 10⁻⁶ during “normal”operation. These are but two examples of an infinite number which arepossible for this type of characterization.

In accordance with the various aspects and principles, and theirequivalents, of the invention, the reader may understand that theseaspects and principles, and their equivalents, may be applied to burstnoise channels in general, though the choice and quantitativecharacterization of the burst noise may alter the choice of mostappropriate parameters or variations employed.

In some embodiments of the reduced processing illustrated in FIG. 5,additional candidate codewords may be generated as a result of thecomparison of one or some of the candidate codewords with the receivedcodeword, or as a result of other of the processing described inassociation with or related to FIG. 4 and/or FIG. 5, and this feedbackgeneration of additional candidate codewords may continue for multipleiterations. The generation of additional candidate codewords as a resultof the processing of the operations depicted and described inassociation with FIG. 4 and/or FIG. 5 is illustrated by the dashed linein FIG. 5.

FIG. 6 illustrates an embodiment of multiple codewords and therespective bits therein that are affected by burst noise. This diagramdepicts a number of codewords employed in accordance with acommunication system using forward error correction (FEC) coding andblock interleaving.

This diagram shows an illustration of the behavior of block interleavedcodewords as provided into a decoder, operating with a “noise burst”during the reception of the interleaved codewords. The diagramillustrates block interleaving, which provides “rows”, such that eachrow containing one complete codeword, to the decoder. The top row is thefirst codeword read into the decoder, and the second row is the second,etc., but this ordering is not critical and any desired permutation ofthe codewords (if accounted for) may be employed without departing fromthe scope and spirit of the invention. In this embodiment, the first bittransmitted through the communication channel is the bit in the topright corner, the second bit is in the far right column and second row,and so on down the far right column, and then on to the top row again inthe second column from the far right.

In this particular embodiment, the codeword length is 16 bits, with abinary signaling channel assumed, and the block interleaving allows 10codewords to be interleaved, so there are 10 “rows”. In this embodiment,the communication channel exhibits a deleterious “burst noise” effectfor a duration of 20 bits (or symbols), beginning with the 16^(th)transmitted bit of the interleaved block. The bits impacted by the burstnoise are indicated in the diagram with hashed lines. It may be seenthat while 20 consecutive bits are impacted by the burst noise, only twosuch bits are impacted in each codeword. In the top five codewords bits3 and 4 are impacted by the burst noise, while in the bottom fivecodewords bits 2 and 3 are impacted. As may be seen, each codeword hasonly two bits (symbols) impacted by the burst event, due to the benefitof the interleaving.

The situation depicted in this diagram has been explained as arisingfrom a burst noise event in combination with an interleaved set ofcodewords, whereupon the de-interleaving operation at the receiver worksto focus the bits (or symbols) impacted by the burst noise event intothe same bit (or symbol) positions within each codeword. The samefocusing of degraded bits or symbols into like positions among a set ofcodewords can occur in other situations besides burst noise andinterleaving, and various aspects and principles, and their equivalents,of the invention apply equally well to these additional situations andembodiments. An alternative situation can include the use of orthogonalfrequency division multiplexing (OFDM) in which a tone (or a subset oftones) in OFDM can be dedicated to one codeword, and another tone (orsubset of tones) can be dedicated to another codeword, and so forth.Thus, if one OFDM symbol interval is degraded by an impairment, then ifthe codewords are aligned properly, the same symbol or bits of eachcodeword would be similarly impacted, similar to what is shown in thisdiagram and also with reference to FIG. 11.

Yet another situation can include the use of synchronous code divisionmultiple access (S-CDMA) in which different respective subsets ofsymbols, each having a respective and different spreading code, may beprovided synchronously or in parallel with respect to each other.Similarly assigning codewords to one or several S-CDMA spreading codes,while other codewords are assigned to other spreading codes and alignedand synchronized with each other, then an impairment degrading onespreading interval will impact the same bit positions of each codeword,again similar to what is shown in this diagram and also with referenceto FIG. 14.

Additionally, other assignments and alignments are possible with otherimpairments which result in degradation of like-positioned bits orsymbols in an ensemble of codewords. For example, codewords sent usingmultiple channels, with each codeword using one or several channels, andmultiple codewords aligned and synchronized across the channels, willrespond to impairments impacting many or all of the channelsimultaneously much as depicted in this diagram. Another example isusing a particular tone or channel or spreading code to send aparticular bit or symbol from each codeword in an ensemble, sending thei-th bit of codeword #1 on the i-th tone, followed by sending the i-thbit of codeword #2, and so forth, one after the other; when one channel(or tone, or spreading code) is degraded by narrowband interference (forexample), the result is a pattern of degraded bits or symbols across theensemble of codewords again similar to what is shown in this diagram.

Generally speaking, any communication system in which multiple‘channels’ (e.g., whether those ‘channels’ be in accordance with anydesired type of signaling such as OFDMA, S-CDMA, etc.) are communicatedin parallel may employ various aspects and principles, and theirequivalents, of the invention.

FIG. 7 illustrates an embodiment of a brute force implementation of amodified minimum distance decoder (e.g., alternative embodiment of aminimum distance decoder). Certain aspects and principles, and theirequivalents, of the invention may be understood in accordance with thisdiagram of the general brute force implementation of a modified minimumdistance decoder. In some aspects, this approach corresponds to anexhaustive version of optimal modified error distance decoding that isoperative to perform an exhaustive brute force approach. A set of Mdeinterleaved codewords are input to the approach and processed as shownin the diagram. If the codeword positions represent symbols, rather thanbits, then the identified error positions can be used in an erasuredecoding approach in one embodiment.

In accordance with various aspects and principles, and theirequivalents, of the invention, the brute force implementation of themodified error distance decoding approach calls for calculating theerror positions when comparing each respective received signal (e.g.,each respective received codeword) in the signaling set with the firstreceived signal (or codeword). For this first received codeword, theerror positions are calculated and stored for each of the 2^(k) possiblesignaling codewords. The test error pattern calculated by comparing thei-th signaling signal (codeword) (if they are enumerated by i=1, 2, . .. , 2^(k)) and the j-th received signal (codeword) (for j=1, 2, . . .M), can be denoted as a “calculated error pattern (i, j)”. There arem^(k) possible signaling codewords for non-binary codes that have msymbols in their respective alphabet.

The second received signal (codeword) is then fully processed in thesame fashion, and so on, until the full group of M codewords is soprocessed for error positions in relation to each signal (codeword) inthe signaling set. With 2^(k) codewords in the signaling set, there areM×2^(k) error position vectors now stored.

The next step of this modified minimum distance decoding approachincludes determining the minimum weight error pattern which “covers” theM received signals (codewords) (or any desired subset thereof). A testerror pattern of weight W will have W error positions. If the errorpositions of error pattern (i, j) are a subset (including a perfectmatch) of the test error pattern, then the test error pattern is said to“cover” the error pattern (i, j). Whenever a test error pattern is foundwhich “covers” at least one of the 2^(k) error patterns (i, j) forreceived signal (codeword) #j, then that particular test error patternmay be described as “covering” that received signal (codeword) #j.

Considering an example, stated another way, if a received signal(codeword) has one bit (or symbol) received in error, then one and onlyone test error pattern of weight W=1 will “cover” the received signal(codeword). This will then be the test error pattern with exactly oneerror position in precisely the error position where the receivedcodeword experienced its reception error. Of course, this is based uponthe assumption that the particular FEC or ECC code is capable ofdetecting at least one single error within a received signal (codeword).

If there is an ECC capable of correcting two errors, then its respectiveminimum distance (d_(min)) is at least five; if two received bits (orsymbols) are in error in the received codeword, then one and only onetest pattern of weight W=2 will “cover” the received codeword. Thisfollows since the only signal (codeword) in the signaling set that canbe at Hamming distance 2 from the received codeword is in fact thetransmitted signal (codeword) itself. All the other signals (codewords)are at a Hamming distance of 3 or more from the received signal(codeword).

As such, the reader will understand that no test error pattern of weightW=1 will cover this received signal (codeword), and many test errorpatterns of weight W=3 and higher will cover the received signal(codeword). In fact, if there is a signal (codeword) of Hamming distance5 from the transmitted signal (codeword), e.g., signal (codeword) #2being a distance 5 from transmitted signal (codeword) #1, then it ispossible that with the two bits (or symbols) received in error, that aweight W=3 test error pattern will “cover” the received signal(codeword) but correspond to signal (codeword) #2 rather than to thetransmitted signal (codeword). This test error pattern will have threeerror positions and none of them will be the two error positions whichwere actually received in error. Still, this W=3 test error pattern“covers” the received signal (codeword). As may be understood, this W=3test error pattern unfortunately does so in a manner that corresponds toan incorrect signal (codeword) (e.g., rather than to the actuallytransmitted signal (codeword)).

This modified error distance decoding approach, as illustrated in thediagram of FIG. 7, also described finding a test error pattern ofminimum weight which “covers” each of the M received signals (codewords)(e.g., codewords plus noise and/or some other impairment).

In a brute force approach, through every possible codeword, compare thepossible codeword with the received signal, if the received signaldiffers from the possible signal (codeword) in only the test errorpositions (or a subset thereof), then that test error pattern covers thereceived signal (codeword). In certain embodiments, it is noted that thetruncated list of candidate codewords approach can be applied to reducethe complexity if a resulting sub-optimal error rate performance isacceptable. When a test error pattern is found which “covers” a receivedsignal (codeword), the signal (codeword) in the signaling list whichcorresponds to the error pattern so “covered” is identified as theestimated signal (codeword) corresponding to that test error pattern(e.g., as indicated in the figure). When a test error pattern is found(by the systematic search shown in the figure) which by itself “covers”each of the M received signals (e.g., codewords plus noise and/or otherimpairment), then for each of the M received signals (e.g., codewordsplus noise and/or other impairment) the corresponding estimated codewordis produced (again, shown in the diagram).

In the case of non-binary coding a multiple codewords may correspond toeven the minimum weight test error pattern. The operation and treatmentin accordance with such multiple codewords is described below. As aforeshadowing, additional information is applied, in general, to resolvethe multiple codewords which are consistent with the vector of errorpositions identified by application of the modified distance decodingmetric, into a single codeword choice for each received codeword whichgenerates a multiplicity. In such a case, the modified distance decodingmetric is seen to be generating a vector of error positions, in apartial decoding, wherein additional processing consistent with themodified distance decoding metric provides a complete decoding.

In accordance with the systematic nature of the approach, the minimumweight “covering” error pattern is then produced for the set of Mreceived signals (e.g., signals (codewords) plus noise and/or otherimpairment). The reader may then understand the appropriate nomenclatureof this particular decoding approach as being the modified errordistance decoding approach. The estimated signals (codewords) form aminimum error distance (from their respective received signals(codewords)) over the set of M received signals (codewords) (e.g.,codewords plus noise and/or other impairment). The modified measure oferror distance corresponds to the minimum weight of any “covering” errorpattern for the set of M received signals (e.g., codewords plus noiseand/or other impairment).

As can be seen with respect to this embodiment, the weight being appliedto the respective test error patterns may be modified accordingly (e.g.,as the weight W is incremented). In other words, test error patterns ofmany different, respective weights are employed for comparison with thestored error patterns. The covering consideration or testing, in thedecision block at the lower right hand corner of the diagram, is whethereach respective, received signal (codeword) does in fact have at leastone error pattern covered by the test error pattern. If so, then foreach respective, received signal (codeword), the modified error distancedecoding approach operates by selecting the corresponding signal(codeword) associated with the covered error pattern. It is noted thatthis processing operates for each of the respective, received signals(codewords).

When there is a multiple codewords associated with a covering errorpattern, the operations may proceed as follows. In addition to theprocessing described with reference to FIG. 7, an alternative embodimentcalls for an attempted decoding of each of the individual codewords in a(non-modified error distance) error correction decoder prior to theinsertion of the received codeword into the processing illustrated inFIG. 7. When this decoding is successful, the corrected codeword isinput to the “distance calculation” operation as “received codeword”.When this successfully decoded codeword is compared with itself from thelist of candidate codewords, or a full list of codewords, then of courseit has zero errors. The error positions located by the successfuldecodings of such individual codewords can be used to guide theselection and creation of candidate codewords for comparison with theadjacent and near-adjacent other received codewords which did notsuccessfully decode in conventional individual decoding attempts. Inanother embodiment, individual decoding is attempted on each receivedcodeword, and used to guide selection of candidate codewords, but is notused in the distance calculation. In another embodiment, both thesuccessfully individually decoded codeword results and the receivedsignal can be included in comparisons and either or both may contributeto achieving a successful group decoding. If all codewords in a groupare successfully decoded in individual decodings, then group processingmay be eliminated in yet an alternative embodiment. If only a fewreceived signals cannot be successfully decoded by individual decoding,and these share a number of positions commonly impacted by burst noiseor other impairment, then a group decoding is attempted in oneembodiment using neighboring codewords (e.g., sharing positionspotentially impacted by burst noise) and their decoding and softdecision results guide the selection of candidate codewords.

In accordance with the operations of FIG. 7, it may be seen thatdecoding with the new modified error distance decoding metric mayprovide a number of benefits and improved performance. Of course,equivalents and variations of the operations related to the generationof decoded codewords and/or error locations, in accordance with variousaspects and principles, and their equivalents, of the invention and asdescribed with reference to FIG. 7 may be performed without departingfrom the scope and spirit of the invention. Variations taught inassociation with the remaining figures and written description, inaccordance with the principles of modified error distance decodingtaught here-in, for a group of codewords, are of course envisionedwithin the scope and spirit of the invention. As the reader willunderstand, the various operations presented herein in accordance withmodified error distance decoding are novel, and the application of sucha new metric may be applied for use in decoding in communication systemand application in which the impairment is not necessarily stationaryAWGN in nature.

FIG. 8 illustrates an embodiment of an alternative (1) implementation ofa modified minimum distance decoder. As may be seen, there are certainsimilarities with this variant to certain of the previous embodiments,with at least one difference being that this embodiment operates bylooking for matching m_(thresh) received signals (codewords) (e.g.,codewords plus noise and/or some other impairment), or more thanm_(thresh), out of the M received signals (codewords). The coveringconsideration or testing, in the decision block at the lower right handcorner of the diagram, is whether m_(thresh) or more of the receivedsignals (codewords) have at least one error pattern “covered” by thetest error pattern. The selection of the appropriate signals (codewords)is performed in accordance with selecting the codeword associated withthe “covered” error pattern for each of the m_(thresh) (or more)received signals as being the as the estimated codeword.

FIG. 9 illustrates an embodiment of an alternative (2) implementation ofa modified minimum distance decoder. As may be seen, there are certainsimilarities with this variant to certain of the previous embodiments,with at least one difference being that this embodiment operates byconsidering a number of different factors. For example, this embodimentoperates by looking for matching a suitable combination of (1) weight Wof test error pattern, (2) m₁ received signals (codewords) (e.g.,codewords plus noise and/or some other impairment), out of the Mreceived signals, and (3) number of errors, e_(j) _(—) _(remain), in them₁ received signals which are not covered by the test error pattern.

The covering consideration or testing, in the decision block at thelower right hand corner of the diagram, is whether (1) the weight of thetest error pattern W, (2) the number of received signals m₁, and (3) thenumber of uncovered errors (sum [Σ] of e_(j) _(—) _(remain) over the m₁received signals) in the m₁ received signals, are all adequate fordecoding. The selection of the appropriate signals (codewords) isperformed in accordance with selecting the codeword associated with the“covered” error pattern for each of the m₁ received signals as theestimated codeword. In other embodiments, as an alternative to thesumming of e_(j) _(—) _(remain) over the m₁ received signals, anddeciding if this provides an acceptable triplet when combined with W andm₁, the maximum of e_(j) _(—) _(remain) over the m₁ received signals canbe used in combination with W and m₁.

In various other embodiments, if more than one signaling codewordcorresponds to a test error pattern which covers a received signal(codeword) in accordance with this modified minimum distance decodingapproach, then choices can arise in assigning the estimated codeword,and may even warrant some variation of the basic approach. If the weightW is greater than or equal to d_(min), it is possible that a W-weighterror pattern will yield identification of multiple codewords (e.g., notarrive at a unique codeword solution). Stated another way, more than onecodeword can be within d_(min) Hamming distance from a received signal(codeword).

For example, it may be considered that signaling codewords i_(i) and i₂can compare with received signal (codeword) j and produce error patterns(i₁, j) and (i₂, j), respectively. Let codeword i₁ be the all zerocodeword, and codeword i₂ be a codeword with only d_(min) nonzero bits(or symbols), and consider that codeword i₁ is transmitted and receivedwithout errors. There exists one test error pattern of W=d_(min) thatwill cover both of these codewords, and this is the test pattern thathas error positions in the same positions where codeword i₂ has nonzerobits (or symbols). Error pattern (i₂, j) will have d_(min) errorpositions while error pattern (i₁, j) has zero errors. Both of theseerror patterns are covered by the test error pattern as described, andhas weight, W=d_(min).

It is noted that the error pattern (i₁,j) has zero errors and thus wascovered by many test error patterns in the decoding approach before theweight W, in accordance with being incremented, reached d_(min).However, the decoding approach would continue searching, andappropriately increasing the weight W, if the attempted test errorpatterns did not cover at least one of the other of the M−1 receivedsignals (codewords). In other words, it is required that one test errorpattern cover all M of the received signals (codewords) in order toterminate the operation and select the estimated signal (codeword)(e.g., in at least one embodiment previously described). In oneembodiment here, it is assumed for the example that a test error patternhaving weight d_(min) is required to cover the full set of M receivedsignals (codewords). This is why the processing can continue, and end ina situation where any one of the received signals (codewords) may haveseveral values of “i” for which error pattern (i, j) is covered by thetest error pattern, leading to a plurality of possibilities for theresulting estimated codeword.

In this case, and other cases operating using multiple codewordsassociated with the covering error pattern and a given receivedcodeword, such as with nonbinary symbols in the coding, several optionsare possible in directing the selection of the actual estimated codewordfor the for the given received signal (codeword). In one embodiment, theestimated codeword is selected as being the codeword with the minimumHamming distance from the received signal (codeword). Another embodimentoperates in accordance with randomly selecting the estimated codewordfrom among the possible candidate codewords. In one embodiment, theprobability of error of the symbols in error are not equal, so the mostlikely value of symbols (among those symbols in error) can be assigneduntil there are few enough remaining unassigned symbols in error toperform erasure decoding. Applying this technique multiple times,choosing different positions having error for assignment, an ensemble oferasure-decoded codewords is generated and the probabilities of thevarious resulting values in the positions having error could be used forselection of the final decoding choice. In another embodiment the errorstatistics of positions having error in received codewords which aredecoded without ambiguity are applied, as described below.

In some instances, there may be a number of codewords each having thesame minimum Hamming distance from the received signal (codeword), whichmay then result in random assignment selecting among just this subset ofthe codewords. Still yet another embodiment operates by examining theerror patterns in the set of M received signals (codewords) which areuniquely decoded by the modified minimum distance decoding approach, andthose results are used in selecting the estimated codewords for thosereceived signals (codewords) where any such “ties” may exist or occur.More details of this approach and similar approaches are provided below.Other options also exist for handling multiple possible estimatedcodewords for a single received signal and single “covering” test errorpattern, which will be discussed further below.

Another embodiment is directed towards solving ambiguities via solvingfor the correct values in the identified error locations. For example,with non-binary codes, ties may exist with the modified error distancedecoding because many codewords in the full list of codewords may sharethe same error positions in comparison to one received codeword (e.g.,when the number of error positions is at least d_(min)). as the readermay recall, the error positions of a selected codeword, compared to thereceived codeword, is a subset of the error positions in the coveringpattern, and may be a proper subset. Thus, decoding may involve usingerasure decoding and using only the error locations associated with aparticular codeword and assuming the remaining positions are correct(when the number of error positions allows erasure decoding), ratherthan using all the error positions of the covering error pattern.

When the covering error pattern is weight d_(min)−1 or less, then withReed-Solomon (RS) codes, as an example, it is possible to recover theactual codeword associated with the received codeword just by knowingthe value of the received codeword in the positions outside the errorpositions. Thus a huge simplicity may be incorporated into theoperations shown with reference to FIG. 7, FIG. 8, and FIG. 9, forstoring the information associated with test error patterns of weightless than d_(min). In these cases it is only necessary to store theerror locations (and number of errors can be stored or counted fromthis) in association with each received signal (codeword). Similarly,since with many codes, including RS codes, when one codeword is foundwhich differs from the received codeword in d_(min) positions or more,there is an entire vector space of codewords which have the same errorpattern, and these can be generated from just the values in the matchingsymbols and the positions of the different symbols. Thus, once again, inthis case in one embodiment it is beneficial to only store the errorpositions in the operation where error values are computed and stored.

It is also possible that if a test error pattern of weight W is foundwhich “covers” m₁ of the M received codewords, e.g., whereM>m₁≧m_(thresh), then the decoding will operate on the m₁ codewords, andseparately (or subsequently) operate on the remaining M−m₁ receivedcodewords (e.g., such as in accordance with FIG. 8).

Again, there are variations and options for handling the decoding of theremaining codewords. It could simply be that these codewords are decodedin accordance with the approaches such as described with respect toFIGS. 7, 8, and/or 9, but with M′=M−m₁. When the codewords are amenableto erasure decoding or iterative decoding (e.g., such as with likelihoodratios or log-likelihood ratios (LLRs), then the remaining uncoveredcodewords can be attempted to be decoded with erasures or likelihoodratios (or LLRs) reflecting low or no certainty in the coveredpositions.

A variation would be as follows: for a received signal (codeword) jwhich is among the M′ received signals not covered by the test errorpattern which does cover m₁ of the received signal, the test errorpattern can be compared to identify the m₁ received signals (codewords)to each respective test error pattern (i, j), and can then determine ineach case e_(i,j) _(—) _(not) _(—) _(covered), which is the number oferrors in the error pattern (i,j) which are not covered by theidentified test error pattern.

In other words, e_(i,j) _(—) _(not) _(—) _(covered), is the number oferrors which exist outside of the test error pattern selected for the m₁received signals (codewords), in comparing the i^(th) codeword with thej^(th) received signal. This number is computed for each codeword, inthe list of candidate codewords (which may be the exhaustive list ofcodewords), for each received signal which is not among the m₁ receivedsignals which are covered by the selected test pattern. If it is knownthat e_(i,j) _(—) _(not) _(—) _(covered)>0 for each i, then the testerror pattern is not covering. The signaling codeword #i correspondingto the minimum e_(i,j) _(—) _(not) _(—) _(covered) is then selected, asthe estimated codeword for received signal (codeword) j. If there are“ties,” then random selection could be done, or selection based onminimum overall Hamming weight (e.g., not every position within the testerror pattern is likely to be in all the tied error pattern (i, j)'s),etc.

Another variation of the modified minimum distance decoding approachcould be to examine the combination of (1) weight W of the test errorpattern, and (2) the number of codewords m₁ out of the M which aresuccessfully covered, as the approach progresses. For acceptable pairs(W, m₁), the modified minimum distance decoding approach could beoperated as described above. Decoding on the remaining M−m₁ receivedsignals (codewords) as described above is one embodiment. Otherembodiments are of course possible without departing from the scope andspirit of the invention. The remaining M−m₁ received signals (codewords)could be grouped with other received signals (codewords) outside the setof M originally processed signals (codewords).

Expanding on the variant embodiment as described above, anotherparameter, e_(j) _(—) _(emain), can be determined for a test errorpattern and received signal (codeword) j, which corresponds to theminimum value (minimized over i) of e_(i,j) _(—) _(not) _(—) _(covered).With this additional parameter being added to the modified minimumdistance decoding approach, the processing continues until an acceptablecombination is reached for the values (1) weight W of the test errorpattern, (2) number of codewords m₁ out of M which are successfullycovered, and (3) e_(j) _(—) _(remain) is no greater than e_(remain) _(—)_(thresh) for all M−m₁ codewords which are not covered.

In this case, the m₁ codewords which are covered have their estimatedcodewords selected as in the basic approach, and the remaining M−m₁codewords have selected as their respective, estimated codewords thosecodewords i which correspond to the minimum e_(i,j) _(—) _(not) _(—)_(covered). This particular variant of the modified minimum distancedecoding approach may be understood with respect to FIG. 9. It is notedthat one embodiment involving codewords is amenable to decoding viaerasure decoding, or accepting of varying starting likelihood ratiosassociated with each bit position, and/or associated with iterativedecoding methods, as associated in accordance with the approach of theFIG. 10.

Rather than attempting to identify and cover all the errors in the Mreceived signals, the approach in FIG. 9 is exercised to identifypotential error positions which are common among a number (e.g., m₁) ofthe M received signals (codewords), and that outside of these commonpositions in the m₁ received signals (codewords), there may be some butnot too many other potential error positions in each.

Another variant embodiment occurs when a test error pattern of weight Wis found which covers all M received codewords. The approach can beconsidered completed successfully at this point, or further test errorpatterns of weight W may be processed until all weight W test errorpatterns are exhausted. If this option is selected, and if this resultsin at least one different estimated codeword for the j receivedcodewords, then “tie break” procedures would be invoked (along the linesof those outlined above, plus other “tie break” procedures areenvisioned).

Another variation of the decoding approach, discussed below, addressesthe shifting of the test error pattern as employed in accordance withFIG. 7 by one position for j≧j_(burst) _(—) _(start) in making the covertesting, to account for burst impact arriving in a middle row of theinterleaver, such as illustrated in accordance with FIG. 6.

Also, in some embodiments, a variant embodiment of that described withrespect to FIG. 7 is, for each received signal j, to determine theminimum Hamming weight (minimizing over i) of each error pattern (i,j).Then, the decoding operates to determine the maximum of this value overj, E_(max) _(—) _(min). This value, E_(max) _(—) _(min), is the minimumweight possible for a covering test error pattern, so it may be anadvantage in some implementations to make these calculations and beginthe decoding approach's search for a covering test error pattern withW=E _(max) _(—) _(min)=max over j{min over i(Hamming weight of errorpattern(i,j))}.

It is noted that if E_(max) _(—) _(min)<[(d_(min)−1)/2], where [ ]denotes rounding down to an integer, then the minimum distance decodingapproach such as described with respect to FIG. 3 individually for eachreceived codeword could be considered. However, the modified errordistance decoding approach in some circumstances can provide forsuperior performance.

When comparing the error distance decoding approach with the modifiederror distance decoding approach, it may be noted that the modifiederror distance decoding approach can provide a significant performanceimprovement over the error distance decoding approach when applied toindividually received signals (codewords).

For example, consider an embodiment in which d_(min)=5, and consideringtwo codewords therein, such that codeword #1=all zeroes=(0 0 0 0 0 0 . .. ) and codeword #2=all ones=(1 1 1 1 1 0 . . . ). Consider thatcodeword #2 is transmitted as the first of M transmitted signals(codewords), but received as (0 0 0 0 1 0 . . . ) (e.g., with at leastone bit error therein). The error distance decoding approach willprovide codeword #1 (all zeroes) as the estimated codeword, which wouldunfortunately be wrong in that case. If there are other codewords in theset of M received codewords which contain errors in the first fourpositions, but not in any other positions, then the test error pattern(0 0 0 0 E 0 . . . ) covers the first received codeword, but does notcover all of the other received codewords. Therefore the approach has toproceed beyond weight of W=1.

If over the set of the other M−1 received codewords there is at leastone transmission error in each of the first four positions, then theapproach will proceed to W=4 and the test error pattern (E E E E 0 0 . .. ) will cover all M of the received codewords. In particular, this testerror pattern covers the first received codeword when compared withcodeword #2.

This will provide for decoding the first received signal (codeword) as(1 1 1 1 1 0 . . . ), which is codeword #2, with the determination thatthe first five positions were received in error. This exemplaryembodiment shows the decoding beyond the error distance decodingapproach with this novel decoding technique, in accordance with itseffective modified error distance, is beneficial and operative tomitigate (if not eliminate) deleterious effects such as burst noiseand/or other impairments that may affect a communication channel (e.g.,that may include interleaving such that the burst impacted symbols arethe same symbols in each of the M codewords).

Another embodiment may provide for estimating the error probability ofthe four positions associated with a possible burst noise event from theother received signals (codewords) in the group, and also estimating theerror probability of the single position which is associated with thedistance one codeword, using the other received codewords in the group.From these estimated probabilities, and assuming equal likelihood oftransmitting either codeword #1 or #2 in the example, applying Bayes lawwith the probability estimates for the various symbol positions willyield which of the two codewords was most likely to have beentransmitted in the environment or communication channel characterized bythe transition probabilities empirically derived from the othercodewords in the group.

A variation of the approach of the error distance decoding approach(such as described with reference to FIG. 7), and described above whichincludes calculation of the parameter, e_(j) _(—) _(remain), for a giventest error pattern and received codeword j (which corresponded to theminimum value (minimized over i) of e_(i,j) _(—) _(not) _(—) _(covered))is described with respect to FIG. 9.

One particular embodiment within this family of error distance decodingembodiments entails using the approach of FIG. 7, but for each testerror pattern determining e_(j) _(—) _(remain), and then terminating theapproach (successfully) when a test error pattern is found such thatW+2×e _(j) _(—) _(remain) <d _(min) for each jε{1, . . . , M}.  [Test A]

Another embodiment within this family of variations would use theapproach of FIG. 7 up to W=d_(min)−1, and if no covering test errorpattern has been found, then to begin reducing W by one at a time anduse Test A above to determine an acceptable “almost covering” test errorpattern.

Clearly, the results and test error patterns, etc. associated with TestA may be determined and stored as W is incremented, so that the reversestepping down need not be repeated. In this case, the results (for thelargest successful W for Test A) would be available. As W is incremented(e.g., in accordance with the approach of FIG. 7), when a successfulresult for Test A is found it is saved. If a subsequent successfulresult is found for a larger W, it replaces the saved result. If Wproceeds to d_(min)−1 without finding a covering test error pattern,then the available last saved successful Test A provides an “almostcovering” test error pattern.

With respect to embodiments that perform soft decision demodulation, theapproach depicted with reference to FIG. 7 (and FIG. 8, 9, etc.) can beapplied to receivers operating with demodulators (or even inner codedecoders) which are capable of generating soft decisions for bits orsymbols. De-interleaving the soft decisions will result in a row andcolumn arrangement as depicted in FIG. 6 (or alternatively, FIG. 11 andFIG. 14 for different types of signaling), but with the hashed positionsrepresenting positions, generally speaking, with degraded likelihoodratios compared to other positions.

The embodiment described in accordance with FIG. 7 (and FIG. 8, 9, etc.)can proceed as shown but rather than requiring working through allpossible codewords in a list (e.g., such as an exhaustive list),likelihood ratios which reflect a given amount of uncertainty for aposition are considered “errored” in the approach, and a covering testerror pattern is sought. This approach is especially amenable to theapproach of FIG. 9, wherein it is not necessary to cover all the errorsin each received signal, but rather it is only necessary to find a testerror pattern of some weight W, covering some number (perhaps all M) ofthe received signals, except for some few straggling positions in one orseveral or many of received signals (codewords), and a suitablecombination of low weight W, many received signals (perhaps all in thisembodiment) and few number of straggling positions is sought. Once thetest error pattern is found, the positions of the test pattern in allreceived codewords are assigned low (or completely uncertain) likelihoodratios, and erasure decoding and/or iterative decoding and/orconvolutional decoding is commenced for each received codeword. In otherwords, in this embodiment this is an approach for detecting low channelfidelity, and then applying this detected channel condition, asdescribed in a previous teaching (Detection and mitigation of temporaryimpairments). A variant embodiment may assign erasure or low likelihoodratio to the straggling error positions, those positions in receivedcodewords which have low likelihood ratio from the demodulator but arenot covered by the selected test error pattern.

With respect to communication systems embodiments that operate usingconvolutionally encoded codewords, the decoding approach as describedwith respect to FIG. 7 (and FIG. 8, 9, etc.) can be applied thereto.Unwrapping the convolutionally encoded and interleaved signal asprescribed by the de-interleaver will result in a row and columnarrangement as depicted with respect to FIG. 6, but generally speaking,with the hashed positions representing positions with degradedlikelihood ratios compared to other positions.

The modified minimum distance decoding approach also can provide for asignificant reduction in complexity compared to the minimum distancedecoding approach, wherein the latter requires at least compiling a listof candidate codewords for each received signal and proceeding throughthe comparisons with test patterns. No such list is necessary for theapplication of the embodiment described above that operates inaccordance with performing soft decision demodulation.

Another variation of the approach decoding approach as described withrespect to FIG. 7 (and FIG. 8, 9, etc.) is firstly to apply an iterativedecoder, or a stack decoder (or variation or equivalent thereof) for aconvolutionally encoded signal. With the stack decoder (or variationthereof) when the stack decoding approach gets burdened with too manysurvivors (e.g., possible estimate signals), then these partial decodingresults can feed the approach. Alternatively, with iterative decoding,when a given number of iterations is reached without a converged result,or if some other metric of decoder progress is not satisfied, comparisonof the positions which are varying among the iterations provides apartial decoding result which may be fed to the approach in lieu ofactual candidate codewords and the differences between that candidatecodewords and a received signal (codeword).

These survivors (referring to the stack decoding, or variation thereof)are basically candidate codewords (in combination with the convolutionaldecoder employing some degree of look back) which have the highestprobability overall, at that point in the decoding process. Thus thesepartial decoding items are excellent candidates for inputting into thedecoding approach of FIG. 9 as candidate codewords.

Similarly, the various recent iterations in an iterative decodingapproach can be compared for their difference positions, and thesepositions which are varying are identified as error positions (takingthe place of the rigorous comparison of an actual valid codeword withthe received signal). By comparing a plurality of recent iterationresults (for each received codeword) pairwise, each received codewordmay be used to generate a respective number of error position sets. Eachrespective error position set is used in accordance with comparison witha test error covering pattern. When a test error covering pattern isfound which satisfies the conditions on W, m₁, and e_(j) _(—) _(remain),then the covered error positions can have their likelihood ratios (orLLRs) set to low value or completely uncertain, and iterative decodingcommenced from that point.

FIG. 10 is a diagram illustrating an embodiment of OFDM (OrthogonalFrequency Division Multiplexing) modulation. OFDM modulation may beviewed a dividing up an available spectrum into a plurality ofnarrowband sub-carriers (e.g., lower respective data rate carriers).Typically, the frequency responses of these sub-carriers are overlappingand orthogonal with respect to each other. Each sub-carrier may bemodulated using any of a variety of modulation coding techniques.

OFDM modulation operates by performing simultaneous transmission of alarger number of narrowband carriers (or multi-tones). Oftentimes aguard interval or guard space is also employed between the various OFDMsymbols to try to minimize the effects of ISI (Inter-SymbolInterference) that may be caused by the effects of multi-path within thecommunication system (which can be particularly of concern in wirelesscommunication systems). In addition, a CP (Cyclic Prefix) may also beemployed within the guard interval to allow switching time (when jumpingto a new band) and to help maintain orthogonality of the OFDM symbols.

Other benefits are achieved using OFDM. For example, the use ofmulti-tones allows for an effective solution to deal with narrowbandinterference. For example, a tone that corresponds to the locality ofthe narrowband interference may be turned off (to eliminate thesusceptibility to this narrowband interference) and still provide forefficient operation. This turning off of these one or few tones will notresult in a great loss of bandwidth because each individual tone doesnot occupy a great deal of bandwidth within the available spectrumemployed by the OFDM symbol.

FIG. 11 is a diagram illustrating an embodiment of different respectivetones in accordance with OFDM modulation being undesirable affected byburst noise, distortion, and/or other deleterious effects. As mentionedelsewhere herein, it is noted that any type of signaling scheme in whichmultiple ‘signals’ are affected commonly by a deleterious event (e.g.,burst noise, distortion, etc.) may be operated in accordance withvarious aspects and principles, and their equivalents, of the invention.Also, such multiple ‘signals’ can be of various forms and types withinsuch alternative signaling schemes. This embodiment shows how, inaccordance with OFDM signaling, commonly located tones within differentOFDM symbols may be commonly affected by such a deleterious event thataffects multiple OFDM symbols. As may be seen, not all of the toneswithin respective OFDM symbols are necessarily affected by such adeleterious event, but those tones which are affected across multipleOFDM symbols are commonly located in at least some (two or more) of therespective OFDM symbols.

FIG. 12 is a diagram illustrating an embodiment of CDMA (Code DivisionMultiple Access) signaling. CDMA may be viewed as the short termassignment of a frequency band to various signal sources. At eachsuccessive time slot, the band assignments are reordered eitheradaptively or according to a predetermined sequence. For example, duringa time slot 1, a signal 1 operates using a band 1, a signal 2 operatesusing a band 2, and a signal 3 operates using a band 3. Then, during atime slot 2, the signal 1 operates using the band 3, the signal 2operates using the band 1, and the signal 3 operates using the band 2.During a time slot 3, the signal 1 operates using the band 1, the signal2 operates using the band 2, and the signal 3 operates using the band 3.

The operation of communication devices (e.g., users) is performed usinga spreading code (SC) that is typically orthogonal to the other SCsemployed by the other communication devices within the communicationsystem. Such a SC may be of a variety of types including a pseudo-noise(PN) code. A modulated signal is spread using that SC and the spreadsignal is then transmitted across a communication channel (e.g., anydesired such type of communication channel including those describedwith reference to FIG. 1). At a receiver end of the communicationchannel, this same SC is employed to de-spread the signal so that datasent from a particular device may be demodulated by the appropriatedestination device.

The operation of CDMA may be better understood when viewed as thetransformation of an input signal through a communication system. At atransmitter end of a communication channel, input from a particular useris first provided to a modulator where the data is modulated by acarrier thereby generating a modulated signal (s1). Next, thedata-modulated signal is then multiplied by a spreading code (g1) thatcorresponds to that particular user thereby generating a spread signal(g1 s 1) that is then provided to the communication channel. This signalmay be viewed as a convolution of the frequency spectrum of themodulated signal and the frequency spectrum of the spreading code.Simultaneously, input from other users within the communication systemis modulated and spread in an analogous manner.

At the receiver end of the communication channel, a linear combinationof all of the spread signals provided by the other users is received,e.g., g1 s 1+g2 s 2+g3 s 3+ . . . and so on for all of the users. At thereceiver end, the total received signal is then multiplied by thespreading code (g1) thereby generating a signal that includes g1 ²s1plus a composite of the undesired signal (e.g., g1 g 2 s 2+g1 g 3 s 3+ .. . and so on).

In CDMA, the spreading codes are typically chosen such that they areorthogonal to one another. That is to say, when any one spreading codeis multiplied with another spreading code, the result is zero. This way,all of the undesired signals drop out. Given that the spreading codesg1(t), g2(t), g3(t) and so on, the orthogonality of the spreading codesmay be represented as follows:

${\int_{0}^{T}{{{gi}(t)}{{gj}(t)}{\mathbb{d}t}}} = \left\{ \begin{matrix}{1,} & {i = j} \\{0,} & {i \neq j}\end{matrix} \right.$

This final signal is then passed to a demodulator where the input thathas been provided at the transmitter end of the communication channel isextracted and a best estimate is made thereof.

FIG. 13 is a diagram illustrating an embodiment of synchronous codedivision multiple access (S-CDMA) signaling. This embodiment showscommunication between a number of communication devices (shown ascommunication devices 1 a through communication device 1 x) andcommunication device 2. While communication is shown as going from thecommunication devices 1 a-1 x to the communication device 2, it is ofcourse noted that bi-directional communications may be supported inaccordance with such a communication system.

Each of the communication devices 1 a-1 x is able to communicativelycouple to a communication channel (either directly or indirectly). Anumber of elements may be included within the communication channel asthe reader will understand. For example, routers, splitters, couplers,relays, and amplifiers may be contained within the communication channelwithout departing from the scope and spirit of the invention.

The communication channel allows communicative coupling between thecommunication devices 1 a-1 x and the communication device 2. Thecommunication device 2 is able to receive the appropriate input usersignals of each of the communication devices 1 a-1 x. For example, thecommunication device 2 is able to communicate respective user signalscorresponding to the respective communication devices 1 a-1 x.

For each of the respective user signals, the communication device 2 mayalso be able to perform transmit equalization to guarantee a nearlyperfect single-path overall channel. The transmit equalizer taps at aspecific communication device 1 a (through 1 x) are usually setaccording to an estimate of the channel between that respectivecommunication device and the communication device 2, which can beestimated during the ranging process. In addition, the communicationdevice 2 may be able to perform signal spreading of each of these usersignals from the communication devices 1 a-1 x as well. While thisembodiment depicts the signal spreading using one respective spreadingcode (SC) for each of the respective communication devices 1 a-1 x, thissignal spreading may alternatively involves employing two separate codesto do the spreading, an outer spreading code (e.g., applied to all ofthe communication devices 1 a-1 x) and respective inner spreading cods(e.g., individually and respectively applied to each of thecommunication devices 1 a-1 x, one SC for each respective communicationdevice 1 a through 1 x). For example, the communication device 2 may beable to perform transmit equalization for the respective user signals.In addition, the communication device 2 may be able to perform signalspreading that involves employing both an outer code and an inner code(analogously as performed on the communication end of the communicationdevices 1 a-1 x). Then, the respective communication devices 1 a-1 x areable to perform signal de-spreading of all employed spreading codes oftheir respective received user signals.

FIG. 14 is a diagram illustrating an embodiment of different respectivebit (or symbols) in accordance with S-CDMA signaling being undesirableaffected by burst noise, distortion, and/or other deleterious effects.As mentioned elsewhere herein with respect to other embodiments, it isagain noted that any type of signaling scheme in which multiple‘signals’ are affected commonly by a deleterious event (e.g., burstnoise, distortion, etc.) may be operated in accordance with variousaspects and principles, and their equivalents, of the invention. Also,such multiple ‘signals’ can be of various forms and types within suchalternative signaling schemes. This embodiment shows how, in accordancewith S-CDMA signaling, commonly located bits within different usersignals symbols may be commonly affected by such a deleterious eventthat affects multiple user signal. As may be seen, not all of the toneswithin respective user signals are necessarily affected by such adeleterious event, but those bits which are affected across multipleuser signals are commonly located in at least some (two or more) of therespective user signals.

With respect to this embodiment operating in accordance with S-CDMAsignaling, as well as the OFDM signaling embodiment of FIG. 11, or theinterleaving related embodiment of FIG. 6, it is noted that the affectedportions thereof need not necessarily be adjacent to one another orcontiguous. For example, in the interleaving related embodiment of FIG.6, the affected bits need not all be adjacent/contiguous, and more thanone deleterious event can affect different, non-adjacent/non-contiguousportions within the respective codewords. Similarly,non-adjacent/non-contiguous portions within more than one OFDM symbol(e.g., FIG. 11) or non-adjacent/non-contiguous portions within more thanone user signal (e.g., FIG. 14) may be handled in accordance withvarious aspects and principles, and their equivalents, of the invention.

Moreover, with respect to and in accordance with various aspects andprinciples, and their equivalents, of the invention, it is noted thaterasure decoding could be attempted for the set of M−m₁ received signals(codewords), erasing the positions of the test error pattern, and usingthe result as the estimated codewords for these M−m₁ received codewords.Other variations are also possible.

The explanation of such a decoding processing technique is most clearlymade with the assumptions (1) the decoder uses optimal decoding and iscapable of correcting all instances of t errors in a codeword, (2) onlyone burst event will occur during an interleaver block, (3) in this casethe FEC is a binary code, so that each codeword symbol is a single bit,and (4) a burst event will impact more than t bits in each codeword(e.g., such as in accordance with each row in the de-interleaverembodiment described with respect to FIG. 6), and (5) during a bursterror event the bit probability of error is 0.5 and during “normal”channel conditions the probability of error is 0.

With these assumptions, it may be seen that if a burst condition occurs,there is a significant probability that at least one codeword suffersmore than t errors. If there are Nb bits impacted by the burst noise(and it is given that Nb>t), then the probability t+1 errors in acodeword is Prob(t+1 bit errors)=C(Nb,t+1)×2^(−(Nb)), whereC(Nb,t+1)=combinations of t+1 items out of Nb. Assuming the current artof decoding, for even modest values of Nb, this represents anunacceptably high probability of decoding error. The only hope wouldthen be that the burst events would happen rarely, or be much shorterduration, but this is not the case in many communication channels.Longer interleaving would be beneficial and mitigate this error rate,but this represents a tradeoff in some applications for latency and/orimplementation complexity, and the larger interleaving size simplypushes out the burst duration that will in fact impact performance.

The reader may understand the many benefits and application of modifiedminimum distance decoding in accordance with various aspects andprinciples, and their equivalents, of the invention. It is noted thatthe calculations of certain of the examples above apply to non-binarycoding schemes, with even the same probabilities of symbol error being areasonable approximation to realistic cases.

Firstly, it is possible that within a group of signals (codewords)impacted by burst noise which overwhelms the decoder such that there isalmost certainty that one or more received signals (codewords) will beuncorrectable even when the positions potentially impacted by a bursterror is known (e.g., because there may simply be too many errors withinthose positions, e.g., d_(min) or more), it is also possible that it islikely that one or more codewords can be decoded using conventionalmeans (e.g., because they will have t or fewer error positions), andfurther that many of the codewords can be decoded once the positionspotentially impacted by burst noise are known (e.g., the covering errorpattern), e.g., fewer than d_(min) errors.

Being able to decode one or several received signals (codewords) in thegroup by conventional means, and then identifying the error positions inthose received codewords, can provide significant advantage in startinga list of candidate codewords to consider in a truncated list approach.Even without such decodable codewords (e.g., such as by conventionalmeans), applying the methods for generating candidate codewords whichhave been described in literature and the art, and/or using statisticalmeans as taught in U.S. Utility application Ser. No. 10/000,415,entitled “Detection and mitigation of temporary impairments in acommunications channel,” now U.S. Pat. No. 7,308,050, referenced above,blocks of potential error positions can be identified. The methods forgenerating codewords for the truncated list of candidate codewords canbe modified to generate candidate codewords which preferentially haveerrors compared to a received codeword which are preferentially withinthe identified burst error positions. A brute force method is to erasesome number of positions (fewer than d_(min)−1 or even less) within anidentified potential burst position and attempt decoding. Thosepositions which (from their probabilities entering the decoding process)are most uncertain are those erased first in this trial-and-errorprocedure; it may be that several or many such decoding attempts aretried before a successful decoding is determined, generating a newcodeword in the list of candidates.

After finding one such codeword, other candidate codewords can begenerated by adding codewords of minimum and near-minimum distance,which have most of their errors contained within the pre-existing limitsof the burst noise (already found for this group). Bootstrapping in thisfashion through the group of received codewords will generate candidatecodewords. Of course, this approach has the possibility of being misledby early decoding results (e.g., if they are anomalies and not trulyrepresentative of the positions impacted by burst noise), but this canbe mitigated by a variety of means including performing using morecalculations, allowing more trials, etc. Other approaches, includingalgebraic approaches, may be available to generate a covering errorposition set which satisfies the modified error distance metric for agroup of codewords, in accordance with various aspects and principles,and their equivalents, of the invention and after finding the coveringerror positions for the set, the determination of the selected codewordfor each given received signal (codeword) proceeds in accordance withvarious aspects and principles, and their equivalents, of the invention.

It is noted that the various modules and/or circuitries (e.g., forencoding, decoding processing, processing of signals, etc.) describedherein may be a single processing device or a plurality of processingdevices. Such a processing device may be a microprocessor,micro-controller, digital signal processor, microcomputer, centralprocessing unit, field programmable gate array, programmable logicdevice, state machine, logic circuitry, analog circuitry, digitalcircuitry, and/or any device that manipulates signals (analog and/ordigital) based on operational instructions. The operational instructionsmay be stored in a memory. The memory may be a single memory device or aplurality of memory devices. Such a memory device may be a read-onlymemory (ROM), random access memory (RAM), volatile memory, non-volatilememory, static memory, dynamic memory, flash memory, and/or any devicethat stores digital information. It is also noted that when theprocessing module implements one or more of its functions via a statemachine, analog circuitry, digital circuitry, and/or logic circuitry,the memory storing the corresponding operational instructions isembedded with the circuitry comprising the state machine, analogcircuitry, digital circuitry, and/or logic circuitry. In such anembodiment, a memory stores, and a processing module coupled theretoexecutes, operational instructions corresponding to at least some of thesteps and/or functions illustrated and/or described herein.

Terms such as “circuit”, “circuitry”, and/or their equivalents, etc. asused herein may refer to an independent circuit or to a portion of amultifunctional circuit that performs multiple underlying functions. Forexample, depending on the embodiment, processing circuitry may beimplemented as a single chip processor or as a plurality of processingchips. Likewise, a first circuit and a second circuit may be combined inone embodiment into a single circuit or, in another embodiment, operateindependently perhaps in separate chips. The term “chip,” as usedherein, refers to an integrated circuit. Circuits and circuitry maycomprise general or specific purpose hardware, or may comprise suchhardware and associated software such as firmware or object code.

The present invention has also been described above with the aid ofmethod steps illustrating the performance of specified functions andrelationships thereof. The boundaries and sequence of these functionalbuilding blocks and method steps have been arbitrarily defined hereinfor convenience of description. Alternate boundaries and sequences canbe defined so long as the specified functions and relationships areappropriately performed. Any such alternate boundaries or sequences arethus within the scope and spirit of the claimed invention.

The present invention has been described above with the aid offunctional building blocks illustrating the performance of certainsignificant functions. The boundaries of these functional buildingblocks have been arbitrarily defined for convenience of description.Alternate boundaries could be defined as long as the certain significantfunctions are appropriately performed. Similarly, flow diagram blocksmay also have been arbitrarily defined herein to illustrate certainsignificant functionality. To the extent used, the flow diagram blockboundaries and sequence could have been defined otherwise and stillperform the certain significant functionality. Such alternatedefinitions of both functional building blocks and flow diagram blocksand sequences are thus within the scope and spirit of the claimedinvention. One of average skill in the art will also recognize that thefunctional building blocks, and other illustrative blocks, modules andcomponents herein, can be implemented as illustrated or by discretecomponents, application specific integrated circuits, processorsexecuting appropriate software and the like or any combination thereof.

As may be used herein, the terms “substantially” and “approximately”provides an industry-accepted tolerance for its corresponding termand/or relativity between items. Such an industry-accepted toleranceranges from less than one percent to fifty percent and corresponds to,but is not limited to, component values, integrated circuit processvariations, temperature variations, rise and fall times, and/or thermalnoise. Such relativity between items ranges from a difference of a fewpercent to magnitude differences.

As may also be used herein, the term(s) “coupled to” and/or “coupling”and/or includes direct coupling between items and/or indirect couplingbetween items via an intervening item (e.g., an item includes, but isnot limited to, a component, an element, a circuit, and/or a module)where, for indirect coupling, the intervening item does not modify theinformation of a signal but may adjust its current level, voltage level,and/or power level. As may further be used herein, inferred coupling(i.e., where one element is coupled to another element by inference)includes direct and indirect coupling between two items in the samemanner as “coupled to.” That is to say, it is also noted that any of theconnections or couplings between the various modules, circuits,functional blocks, components, devices, etc. within any of the variousdiagrams or as described herein may be differently implemented indifferent embodiments. For example, in one embodiment, such connectionsor couplings may be direct connections or direct couplings therebetween. In another embodiment, such connections or couplings may beindirect connections or indirect couplings there between (e.g., with oneor more intervening components there between). Of course, certain otherembodiments may have some combinations of such connections or couplingstherein such that some of the connections or couplings are direct, whileothers are indirect. Different implementations may be employed foreffectuating communicative coupling between modules, circuits,functional blocks, components, devices, etc. without departing from thescope and spirit of the invention.

As may even further be used herein, the term “operable to” and/or“operative to” indicates that an item includes one or more of powerconnections, input(s), output(s), etc., to perform one or more itscorresponding functions and may further include inferred coupling to oneor more other items. As may still further be used herein, the term“associated with,” includes direct and/or indirect coupling of separateitems and/or one item being embedded within another item. As may be usedherein, the term “compares favorably,” indicates that a comparisonbetween two or more items, signals, etc., provides a desiredrelationship. For example, when the desired relationship is that signal1 has a greater magnitude than signal 2, a favorable comparison may beachieved when the magnitude of signal 1 is greater than that of signal 2or when the magnitude of signal 2 is less than that of signal 1.

The present invention has also been described above with the aid ofmethod steps illustrating the performance of specified functions andrelationships thereof. The boundaries and sequence of these functionalbuilding blocks and method steps have been arbitrarily defined hereinfor convenience of description. Alternate boundaries and sequences canbe defined so long as the specified functions and relationships areappropriately performed. Any such alternate boundaries or sequences arethus within the scope and spirit of the claimed invention.

Moreover, although described in detail for purposes of clarity andunderstanding by way of the aforementioned embodiments, the presentinvention is not limited to such embodiments. It will be obvious to oneof average skill in the art that various changes and modifications maybe practiced within the spirit and scope of the invention, as limitedonly by the scope of the appended claims.

What is claimed is:
 1. A method for operating a communication device,comprising: identifying a first test error pattern, having a weight,that covers at least one commonly located bit within each of a pluralityof signals; applying the first test error pattern to each of theplurality of signals thereby generating first respective sets ofpossible signals, such that each one of the respective first sets ofpossible signals corresponding to a respective one of the plurality ofsignals; modifying the weight of the first test error pattern therebygenerating a second test error pattern; applying the second test errorpattern to each of the plurality of signals thereby generating secondrespective sets of possible signals, such that each one of therespective second sets of possible signals corresponding to a respectiveone of the plurality of signals; and for each of the plurality ofsignals, selecting a respective one possible signal from its respectivefirst set of possible signals or its respective second set of possiblesignals as being an estimate thereof.
 2. The method of claim 1, wherein:the plurality of signals being a plurality of codewords havingrespective information bits encoded therein in accordance with at leastone error correction code (ECC).
 3. The method of claim 1, furthercomprising: receiving a transmitted signal from a communication channel;extracting the plurality of signals from the transmitted signal; anddecoding the selected, respective one possible signal thereby generatingan estimate of at least one information encoded within the transmittedsignal.
 4. The method of claim 1, wherein: the plurality of signalsbeing a plurality of partial decoding results generating in accordancewith partial decoding of at least one additional signal.
 5. The methodof claim 1, wherein: the plurality of signals being a plurality oforthogonal frequency division multiplexing (OFDM) symbols communicatedin accordance with OFDM signaling.
 6. The method of claim 1, wherein:the plurality of signals being a plurality of symbol sets eachcorresponding to a respective spreading code communicated in accordancewith synchronous code division multiple access (S-CDMA) signaling. 7.The method of claim 1, further comprising: for each of the plurality ofsignals, randomly selecting its respective one possible signal from itsrespective first set of possible signals or its respective second set ofpossible signals as being its respective estimate thereof.
 8. The methodof claim 1, wherein: for each of the plurality of signals, selecting itsrespective one possible signal based on its respective one possiblesignal having a smallest minimum distance among its respective first setof possible signals or its respective second set of possible signals. 9.The method of claim 1, further comprising: receiving a transmittedsignal from a communication channel; extracting the plurality of signalsfrom the transmitted signal; and wherein: the plurality of signals beinga subset of all signals extracted from the transmitted signal.
 10. Themethod of claim 1, further comprising: receiving a transmitted signalfrom a communication channel; extracting the plurality of signals fromthe transmitted signal; and wherein: during transmission via thecommunication channel, at least one of burst noise and distortion beingincurred within the transmitted signal thereby deleteriously affectingthe at least one commonly located bit within each of the plurality ofsignals.
 11. The method of claim 1, wherein: the communication devicebeing operative within at least one of a satellite communication system,a wireless communication system, a wired communication system, and afiber-optic communication system.
 12. A method for operating acommunication device, comprising: receiving a transmitted signal from acommunication channel; extracting a plurality of signals from thetransmitted signal; identifying a first test error pattern, having aweight, that covers at least one commonly located bit within each of theplurality of signals; applying the first test error pattern to each ofthe plurality of signals thereby generating first respective sets ofpossible signals, such that each one of the respective first sets ofpossible signals corresponding to a respective one of the plurality ofsignals; modifying the weight of the first test error pattern therebygenerating a second test error pattern; applying the second test errorpattern to each of the plurality of signals thereby generating secondrespective sets of possible signals, such that each one of therespective second sets of possible signals corresponding to a respectiveone of the plurality of signals; for each of the plurality of signals,selecting a respective one possible signal from its respective first setof possible signals or its respective second set of possible signals asbeing an estimate thereof; and decoding each of the selected, respectiveone possible signals thereby generating a plurality of estimates of aplurality of information bits encoded within the transmitted signal. 13.The method of claim 12, wherein: the plurality of signals being aplurality of orthogonal frequency division multiplexing (OFDM) symbolscommunicated in accordance with OFDM signaling.
 14. The method of claim12, wherein: the plurality of signals being a plurality of symbol setseach corresponding to a respective spreading code communicated inaccordance with synchronous code division multiple access (S-CDMA)signaling.
 15. The method of claim 12, wherein: during transmission viathe communication channel, at least one of burst noise and distortionbeing incurred within the transmitted signal thereby deleteriouslyaffecting the at least one commonly located bit within each of theplurality of signals.
 16. The method of claim 12, wherein: thecommunication device being operative within at least one of a satellitecommunication system, a wireless communication system, a wiredcommunication system, and a fiber-optic communication system.
 17. Anapparatus, comprising: an input for receiving a transmitted signal froma communication channel; a demodulator for extracting a plurality ofsignals from the transmitted signal; and a decoder for: identifying afirst test error pattern, having a weight, that covers at least onecommonly located bit within each of a plurality of signals; applying thefirst test error pattern to each of the plurality of signals therebygenerating first respective sets of possible signals, such that each oneof the respective first sets of possible signals corresponding to arespective one of the plurality of signals; modifying the weight of thefirst test error pattern thereby generating a second test error pattern;applying the second test error pattern to each of the plurality ofsignals thereby generating second respective sets of possible signals,such that each one of the respective second sets of possible signalscorresponding to a respective one of the plurality of signals; and foreach of the plurality of signals, selecting a respective one possiblesignal from its respective first set of possible signals or itsrespective second set of possible signals as being an estimate thereof.18. The apparatus of claim 17, wherein: the decoder decoding each of theselected, respective one possible signals thereby generating a pluralityof estimates of a plurality of information bits encoded within thetransmitted signal.
 19. The apparatus of claim 17, wherein: the decoderperforming partial decoding of plurality of signals before applying thefirst test error pattern or the second test error pattern thereto. 20.The apparatus of claim 17, wherein: the plurality of signals being aplurality of orthogonal frequency division multiplexing (OFDM) symbolscommunicated in accordance with OFDM signaling.
 21. The apparatus ofclaim 17, wherein: the plurality of signals being a plurality of symbolsets each corresponding to a respective spreading code communicated inaccordance with synchronous code division multiple access (S-CDMA)signaling.
 22. The apparatus of claim 17, wherein: for each of theplurality of signals, the decoder randomly selecting its respective onepossible signal from its respective first set of possible signals or itsrespective second set of possible signals as being its respectiveestimate thereof.
 23. The apparatus of claim 17, wherein: for each ofthe plurality of signals, the decoder selecting its respective onepossible signal based on its respective one possible signal having asmallest minimum distance among its respective first set of possiblesignals or its respective second set of possible signals.
 24. Theapparatus of claim 17, wherein: the apparatus being a communicationdevice that is operative within at least one of a satellitecommunication system, a wireless communication system, a wiredcommunication system, and a fiber-optic communication system.